#ifndef _Kalman_Filter_H_
#define _Kalman_Filter_H_
#include <stdio.h>
#include <stdint.h>
#include <string.h>

typedef struct
{
    double Measure_Now;
    double Evaluation_Last;
    double e_EST_Last;
    double e_MEA_Now;
}Kalman_Filter_Recursive_Struct;

Kalman_Filter_Recursive_Struct Kalman_Filter_Recursive(Kalman_Filter_Recursive_Struct Stu);

typedef struct
{
    double Measure_1;
    double Measure_2;
    double Var_1;
    double Var_2;
    double Fusion;
    double Var;
}Kalman_Filter_Fusion_Struct;

Kalman_Filter_Fusion_Struct Kalman_Filter_Fusion(Kalman_Filter_Fusion_Struct Stu);

typedef struct
{
    double Measure_Now;
    double Result_Last;
    double Covariance_Last;
    double Q;
    double R;
}Kalman_Filter_Prediction_Struct;

Kalman_Filter_Prediction_Struct Kalman_Filter_Prediction(Kalman_Filter_Prediction_Struct Stu);

#endif

